package com.allwees.bs.module.fms.service;

import com.allwees.bs.module.base.service.BoService;
import com.allwees.bs.module.fms.entity.PlatformAccount;
import com.allwees.bs.module.fms.req.ApplyWithdrawReq;
import com.allwees.bs.module.fms.req.AuditWithdrawReq;
import com.allwees.bs.module.fms.req.DoWithdrawReq;
import com.allwees.bs.module.fms.req.ResetWithdrawPasswordReq;
import com.allwees.bs.module.fms.req.SetWithdrawSecurityInfoReq;

/**
 * 平台账户操作
 *
 * @author yangylsky
 * @since 2019-12-12
 *
 */
public interface PlatformAccountService extends BoService<PlatformAccount> {
	/**
	 * 查询指定branch的默认账户
	 *
	 * @param branchUuid
	 * @return
	 */
	PlatformAccount findDefaultPlatformAccount(String branchUuid);

	/**
	 * 设置提现安全信息
	 *
	 * @param req
	 * @return
	 */
	boolean setWithdrawSecurityInfo(SetWithdrawSecurityInfoReq req);

	/**
	 * 重置密码
	 *
	 * @param req
	 * @return
	 */
	boolean resetWithdrawPassword(ResetWithdrawPasswordReq req);

	/**
	 * 申请提现
	 *
	 * @param req
	 * @return
	 */
	boolean applyWithdraw(ApplyWithdrawReq req);

	/**
	 * 审核提现申请
	 *
	 * @param req
	 * @return
	 */
	int auditWithdraw(AuditWithdrawReq req);

	/**
	 * 执行提现
	 *
	 * @param req
	 * @return
	 */
	boolean doWithdraw(DoWithdrawReq req);
}
